package com.mytx.pojo;

import com.alibaba.fastjson.annotation.JSONField;

import java.util.Date;
import java.util.List;

public class Contact {
    private String cId;

    private String mId;

    private String tId;

    private String inviteMessage;
    //对方给我的查看轨迹的权限，1有权限，0无权限
    private String location;
    //对方给我的亲戚互联权限，1有权限，0无权限
    private String relationInfinite;
    //我给对方的查看轨迹权限，1有权限，0无权限
    private String tLocation;
    //我给对方的亲戚互联权限，1有权限，0无权限
    private String tRelationInfinite;
    //无线互联备注名
    private String infiniteTag;
    //无线互联暗号
    private String infiniteKey;
    //无线互联中无限制交流权限，1有权限，0无权限
    private String infiniteChat;
    //无线互联中 向上越级交流权限，1有权限，0无权限
    private String upChat;
    //无线互联中 向下调整组织结构权限（在界面上拖拽以改变contact的从属关系），1有权限，0无权限
    private String adjustStructure;

    //主动添加方分组
    private String groupName;
    //被动添加放分组
    private String tGroupName;

    public String gettGroupName() {
        return tGroupName;
    }

    public void settGroupName(String tGroupName) {
        this.tGroupName = tGroupName;
    }

    //    private Integer isParent;
    private String status;
    private Date updated;
    private Date created;
    private User targetUser;
    private String tag;
    private List<Contact> childContactList;
    @JSONField(serialize = false)
    private boolean haveMoreChildContact = true;


    public Contact(String cId, String mId, String tId,  String status, String groupName,String tGroupName, String location, String tLocation, String relationInfinite, String tRelationInfinite, String tag, String infiniteTag, String infiniteKey, String infiniteChat, String upChat, String adjustStructure, String inviteMessage, Date updated, Date created) {
        this.cId = cId;
        this.mId = mId;
        this.tId = tId;
        this.status = status;
        this.groupName = groupName;
        this.tGroupName = tGroupName;
        this.location = location;
        this.tLocation = tLocation;
//        this.isParent = isParent;
        this.relationInfinite = relationInfinite;
        this.tRelationInfinite = tRelationInfinite;
        this.tag = tag;
        this.infiniteTag = infiniteTag;
        this.infiniteKey = infiniteKey;
        this.infiniteChat = infiniteChat;
        this.upChat = upChat;
        this.adjustStructure = adjustStructure;
        this.inviteMessage = inviteMessage;
        this.updated = updated;
        this.created = created;
    }

    public Contact(String mId, String tId,  String status, Date created) {

        this.mId = mId;
        this.tId = tId;
        this.status = status;
        this.created = created;
    }

    public User getTargetUser() {
        return targetUser;
    }

    public void setTargetUser(User targetUser) {
        this.targetUser = targetUser;
    }

    public Contact() {
        super();
    }

    public String getcId() {
        return cId;
    }

    public void setcId(String cId) {
        this.cId = cId == null ? null : cId.trim();
    }

    public String getmId() {
        return mId;
    }

    public void setmId(String mId) {
        this.mId = mId == null ? null : mId.trim();
    }

    public String gettId() {
        return tId;
    }

    public void settId(String tId) {
        this.tId = tId == null ? null : tId.trim();
    }




    public String getInviteMessage() {
        return inviteMessage;
    }

    public void setInviteMessage(String inviteMessage) {
        this.inviteMessage = inviteMessage == null ? null : inviteMessage.trim();
    }


    public String getGroupName() {
        return groupName;
    }

    public void setGroupName(String groupName) {
        this.groupName = groupName == null ? null : groupName.trim();
    }


    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status == null ? null : status.trim();
    }

    public Date getUpdated() {
        return updated;
    }

    public void setUpdated(Date updated) {
        this.updated = updated;
    }

    public Date getCreated() {
        return created;
    }

    public void setCreated(Date created) {
        this.created = created;
    }


    public String getTag() {
        return tag;
    }

    public void setTag(String tag) {
        this.tag = tag;
    }

    public List<Contact> getChildContactList() {
        return childContactList;
    }

    public void setChildContactList(List<Contact> childContactList) {
        this.childContactList = childContactList;
    }


    public boolean isHaveMoreChildContact() {
        return haveMoreChildContact;
    }

    public void setHaveMoreChildContact(boolean haveMoreChildContact) {
        this.haveMoreChildContact = haveMoreChildContact;
    }




    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String gettLocation() {
        return tLocation;
    }

    public void settLocation(String tLocation) {
        this.tLocation = tLocation;
    }

    public String getInfiniteTag() {
        return infiniteTag;
    }

    public void setInfiniteTag(String infiniteTag) {
        this.infiniteTag = infiniteTag;
    }

    public String getInfiniteKey() {
        return infiniteKey;
    }

    public void setInfiniteKey(String infiniteKey) {
        this.infiniteKey = infiniteKey;
    }

    public String getInfiniteChat() {
        return infiniteChat;
    }

    public void setInfiniteChat(String infiniteChat) {
        this.infiniteChat = infiniteChat;
    }

    public String getUpChat() {
        return upChat;
    }

    public void setUpChat(String upChat) {
        this.upChat = upChat;
    }

    public String getAdjustStructure() {
        return adjustStructure;
    }

    public void setAdjustStructure(String adjustStructure) {
        this.adjustStructure = adjustStructure;
    }

    public String getRelationInfinite() {
        return relationInfinite;
    }

    public void setRelationInfinite(String relationInfinite) {
        this.relationInfinite = relationInfinite;
    }

    public String gettRelationInfinite() {
        return tRelationInfinite;
    }

    public void settRelationInfinite(String tRelationInfinite) {
        this.tRelationInfinite = tRelationInfinite;
    }
}